home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-06 / mmenu136.zip / MARXREAD.ME < prev    next >
Text File  |  1992-01-21  |  8KB  |  287 lines

  1. Version 2.35
  2.  
  3. 12-02-91
  4.  
  5. Added software serialization and access codes. When MarxMenu is first
  6. run it asks you for your serial number and access code. This unlocks
  7. MarxMenu for your system.
  8.  
  9. UnBlank command has been expanded to allow you to set UnBlank to true
  10. when you want to override MarxMenu's internal unblank logic. This allows
  11. you to write external programs for MarxMenu to use as a screen blanker.
  12.  
  13. VarType (Variable) : String
  14. VarType returns the type of data contained in a variable. Types returned
  15. include the following:
  16.  
  17.   NUL
  18.   NUMBER
  19.   REAL
  20.   STRING
  21.   ARRAY
  22.   FILE
  23.   POINTER
  24.   PROCEDURE
  25.   UNKNOWN
  26.  
  27. NovVolumeNumber (Directory) : Number
  28. Returns the Novell volume number of a directory.
  29.  
  30.  Example:
  31.    Writeln NovVolumeNumber ('F:')
  32.  
  33. NovScanTrusteePaths (2D Array,ObjectNane,ObjectType)
  34. Returns a 2 dimensional array containing the name of the trustee paths
  35. assigned to the object and the trustee access rights.
  36.  
  37.  Example:
  38.    var X
  39.    NovScanTrusteePaths (X,'MARC',1)
  40.    Loop X
  41.       Writeln X[LoopIndex,1] ' ' X[LoopIndex,2]
  42.    EndLoop
  43.  
  44. 12-16-91
  45.  
  46. ReadAscTextFile (FileName,2D Array)
  47. ReadAscTextFile reads a standard comma delimited text file into a two
  48. dimensional array. The lines of the file must be limited to 255
  49. characters and the number of lines must be less than 13100. It also has
  50. to fit in memory.
  51.  
  52. All text in quotes is converted to strings. Numbers not in quotes are
  53. translated as numbers unless there is a '.' in which case they are
  54. translated as floating point numbers.
  55.  
  56. 12-19-91
  57. Enhanced the Password command. The password is case sensitive if the
  58. password in the source code is lower case. But if the password in the
  59. source code is in uppercase then the password is not case sensitive.
  60.  
  61.  Example:
  62.     Password 'CRITTER' 4 3    ;will accept critter or CRITTER
  63.     Password 'CriTTeR' 4 3    ;will only accept CriTTeR
  64.  
  65. 12-30-91
  66. Enhanced the way the inverse bar works. You can now have a window with
  67. multiple colors and move the inverse bar over them and it restores the
  68. original color.
  69.  
  70.  
  71. HexString (Number, Length) : String
  72. HexString converts a number into a base 16 hexadecimal string. If Length
  73. > 0 then the number will have enough leading zeros to make it Length
  74. long. If Length = 0 then leading zeros are removed. Length must be 8 or
  75. less.
  76.  
  77.  Example:
  78.     Writeln HexSt(253,4)   ;returns 00FD
  79.     Writeln HexSt(253,0)   ;returns FD
  80.  
  81.  
  82. BinString (Number, Length) : String
  83. BinString converts a number into a base 2 binary string. If Length > 0
  84. then the number will have enough leading zeros to make it Length long.
  85. If Length = 0 then leading zeros are removed. Length must be 32 or less.
  86.  
  87.  Example:
  88.     Writeln HexSt(45,8)    ;returns 00101101
  89.     Writeln HexSt(45,0)    ;returns 101101
  90.  
  91.  
  92. GetMem (Number) : Segment
  93. GetMem allocates the amount of memory specified in Number and returns
  94. the memory segment where the memory was allocated. The memory segment is
  95. filled with 0s. The maximum size of the memory block is 65504 bytes.
  96.  
  97. You can then read and write to this memory area using the Mem commands.
  98.  
  99.  Example:
  100.     var RamBlock
  101.     RamBlock = GetMem(2000)  ;allocate 2000 bytes of memory
  102.     Mem(RamBlock,0) = 5      ;writes the number 5 to the first byte
  103.  
  104.  
  105. FreeMem(Segment)
  106. FreeMem deallocates memory that was allocated with GetMem. FreeMem
  107. automatically knows how much memory to deallocate.
  108.  
  109.  
  110. ReadFileBlock (Name,Offset,Size,Segment)
  111. ReadFileBlock reads disk file Name starting at byte Offset for Size
  112. bytes into memory buffer Segment. It is intended to read any kind of
  113. file.
  114.  
  115. The maximum value for Size is 65504. The segment must be as large as the
  116. number of bytes you are reading. The following example will copy a small
  117. file.
  118.  
  119.  Example:
  120.    Var RamBlock Size
  121.    Size = FileSize 'MARXREAD.ME'
  122.    RamBlock = GetMem(Size)
  123.    ReadFileBlock('MARXREAD.ME' 0 Size RamBlock)
  124.    WriteFileBlock('COPYREAD.ME' 0 Size RamBlock)
  125.    FreeMem(RamBlock)
  126.  
  127.  
  128. WriteFileBlock (Name,Offset,Size,Segment)
  129. WriteFileBlock writes disk file Name starting at byte Offset for Size
  130. bytes from memory buffer Segment. It is intended to write any kind of
  131. file. If the file doesn't exist, it is created.
  132.  
  133. The maximum value for Size is 65504. The segment must be as large as the
  134. number of bytes you are writing.
  135.  
  136. Now, a feature you've all been waiting for. You can now make MsDos and
  137. Interrupt calls directly from MarxMenu.
  138.  
  139.  
  140. MsDos (Registers)
  141. MsDos calls the interrupt 21h system call using values passed in an
  142. array of 10 numbers. The array is set up using predefined Qualifiers
  143. that represent the registers that are passed. These qualifiers are:
  144.  
  145.  AX BX CX DX DI SI DS ES BP FL
  146.  
  147.  Example: Get Current Drive
  148.    var Reg
  149.    Reg.AX = $1900
  150.    MsDos(Reg)
  151.    Writeln Char(LowWord(Reg.AX) + 1) ':'     ;writes C:
  152.  
  153.  
  154. Intr (Interrupt,Registers)
  155. Intr works just like MsDos except that it lets you choose which
  156. interrupt you want to call.
  157.  
  158.  
  159. HighWord (Number) : Number
  160. Returns the value of the upper 16 bits of a number.
  161.  
  162.  
  163. LowWord (Number) : Number
  164. Returns the value of the lower 16 bits of a number.
  165.  
  166.  
  167. Segment (String) : Number
  168. Returns the memory segment where string is located.
  169.  
  170.  
  171. Offset (String) : Number
  172. Returns the memory offset where string is located.
  173.  
  174.  
  175. New Novell Goodies:
  176.  
  177. NovMyPrintQueues (Array)
  178. Returns a list of all print queues that the user has access too.
  179.  
  180.  
  181. NovTotalVolumeSpace (Path) : Number
  182. Returns the total file space of the volume in bytes.
  183.  
  184.  Example:
  185.    Writeln NovTotalVolumeSpace 'SYS:'
  186.    Writeln NovTotalVolumeSpace 'F:'
  187.  
  188.  
  189. NovFreeVolumeSpace (Path) : Number
  190. Returns the free file space of the volume in bytes.
  191.  
  192.  Example:
  193.    Writeln NovFreeVolumeSpace 'SYS:'
  194.    Writeln NovFreeVolumeSpace 'F:'
  195.  
  196.  
  197. NovTotalDirSlots (Path) : Number
  198. Returns the total number of directory slots for this volume.
  199.  
  200.  Example:
  201.    Writeln NovTotalDirSlots 'SYS:'
  202.    Writeln NovTotalDirSlots 'F:'
  203.  
  204.  
  205. NovFreeDirSlots (Path) : Number
  206. Returns the number of free directory slots for this volume.
  207.  
  208.  Example:
  209.    Writeln NovFreeDirSlots 'SYS:'
  210.    Writeln NovFreeDirSlots 'F:'
  211.  
  212. ===============================================================
  213.  
  214. Version 2.36
  215.  
  216. 01-07-91
  217.  
  218. SplitPath (Array)
  219. SplitPath reads the PATH environment variable and splits it up into and
  220. array of strings that are directories the path is made up of. All
  221. directory names are capitalized.
  222.  
  223.  
  224. BuildPath (Array)
  225. BuildPath sets the PATH environment variable to the driectories listed
  226. in the Array variable. The first element in the array becomes the first
  227. search path.
  228.  
  229. 01-18-91
  230.  
  231. ****** Good news for VINES users! ******
  232.  
  233. Banyan has sent me a free copy of Vines so I can add Vines goodies to
  234. marxMenu. (Thanks to Dan Pettengell) And I have started to get it
  235. working. I've set up the server and am running Vines and Netware on the
  236. same workstation.
  237.  
  238. It may be because I'm just used to Novell but so far I have found
  239. learning Vines somewhat awkward. Perhaps this means there is a market
  240. for some serious utilities here. I welcome any feedback on the subject.
  241.  
  242. All Vines commands will start with the prefix Vin.
  243.  
  244.  
  245. VinesLoaded : Boolean
  246. VinesLoaded returns True if the Vines shell is loaded.
  247.  
  248. VinesInt : Number
  249. Returns the interrupt number the Vines software is servicing.
  250.  
  251. VinUserName : String
  252. Returns the StreetTalk name of the person who is logged in.
  253.  
  254. VinSerialNumber (Drive) : Number
  255. Returns the Vines serial number on the server that the drive letter
  256. referrences.
  257.  
  258.  Example:
  259.    Writeln VinSerialNumber ('Z')
  260.  
  261. VinCheckService (Service) : Number
  262. Returns information about the requested service.
  263.  
  264.  Services:
  265.  
  266.     1 - Communications
  267.     2 - Primary 3270 Emulation ID
  268.     3 - Async Terminal Emulation
  269.     4 - File Deflection
  270.     5 - BPS
  271.     6 - UnDocumented
  272.     7 - StreetTalk
  273.     8 - Environment
  274.     9 - NetBios
  275.    10 - Secondary 3270 Emulation ID
  276.    11 - Semaphore
  277.    12 - 3270 Emulation Active Status
  278.    13 - 3270 Keyboard Interrupt Simulator
  279.    14 - Advanced 3270 SNA
  280.    15 - UnDocumented
  281.    16 - UnDocumented
  282.  
  283.  Return Codes:
  284.     0 - Service is Installed
  285.     1 - Service is not Installed
  286.     2 - Invalid Service Number
  287.